/**
 * 
 */

/* 组织机构块 */
/**
 * 用户组织机构单位管理
 */

Ext.define('Department', {
			extend : 'Ext.data.Model',
			fields : [{
						name : 'code',
						type : 'string'
					}, {
						name : 'name',
						type : 'string'
					}, {
						name : 'remark',
						type : 'string'
					}, {
						name : 'address',
						type : 'string'
					}, {
						name : 'website',
						type : 'string'
					}, {
						name : 'tel',
						type : 'string'
					}, {
						name : 'contacts',
						type : 'string'
					}]
		});
var superDeptStore = Ext.create('Ext.data.TreeStore', {
			fields : ['id', 'name'],
			proxy : {
				type : 'ajax',
				url : 'deptAction!getTreeBypid.action'
			},
			root : {
				id : 1,
				name : '上海市质量监督局',
				expanded : true
			},
			reader : {
				type : 'json'
			}
		});
// 数据列表store
var deptStore = Ext.create('Ext.data.TreeStore', {
			model : 'Department',
			proxy : {
				type : 'ajax',
				url : 'deptAction!queryTree.action',
				reader : {
					type : 'json',
					root : 'list'
				}
			}
		});
var treeGrid = Ext.create('Ext.tree.Panel', {
			store : deptStore,
			// title : "组织机构",
			// region : 'west',
			// collapsible : true,
			useArrows : true,
			root : {
				id : 0,
				name : "上海市质量监督局",
				expanded : true
			},
			rootVisible : false,
			renderTo : Ext.getBody(),
			border : 0,
			listeners : {
				afterrender : function(node) {
					// 展开树
					this.expandAll();
				},
				itemclick : function(view, record, sumitem, index, event,
						options) {
					var proxy = store.getProxy();
					proxy.extraParams = {
						'deptId' : record.raw.id
					};
					store.reload();
				}
			},
			columns : [{
						xtype : 'treecolumn',
						text : '机构名称',
						sortable : true,
						flex : 1,
						dataIndex : 'name'
					}, {
						text : '地址',
						align : 'center',
						sortable : true,
						dataIndex : 'address',
						flex : 1
					}, {
						text : '联系电话',
						align : 'center',
						sortable : true,
						dataIndex : 'tel',
						flex : 1
					}],
			tbar : [{
				xtype : 'button',
				text : '新增',
				iconCls : 'icon-add',
				handler : function() {
					var selMode = treeGrid.getSelectionModel();
					var model = selMode.getSelection();
					deptWin.setTitle('新增机构');
					deptWin.show();
					superDeptStore.load();
					if (model.length != 0) {
						var raw = model[0].raw;
						deptForm.getForm().findField('department.tempid')
								.setValue(raw.id);
					}
				}
			}, {
				xtype : 'button',
				text : '修改',
				iconCls : 'icon-edit',
				handler : function() {
					var selMode = treeGrid.getSelectionModel();
					var model = selMode.getSelection();
					if (model.length > 0) {
						var raw = model[0].raw;
						deptWin.setTitle('修改机构');
						deptWin.show();

						deptForm.getForm().findField('department.id')
								.setValue(raw.id);
						deptForm.getForm().findField('department.tempid')
								.setValue(raw.pid);
						deptForm.getForm().findField('department.areaid')
								.setValue(raw.areaid);
						deptForm.getForm().findField('department.pid')
								.setValue(raw.pid);
						deptForm.getForm().findField('department.name')
								.setValue(raw.name);
						deptForm.getForm().findField('department.remark')
								.setValue(raw.remark);
						deptForm.getForm().findField('department.code')
								.setValue(raw.code);
						deptForm.getForm().findField('department.leaf')
								.setValue(raw.leaf);
						deptForm.getForm().findField('department.isbasic')
								.setValue(raw.isbasic);
						deptForm.getForm().findField('department.tel')
								.setValue(raw.tel);
						deptForm.getForm().findField('department.address')
								.setValue(raw.address);
						deptForm.getForm().findField('department.website')
								.setValue(raw.website);
						superDeptStore.load();
					} else {
						Ext.Msg.alert('提示', '请选择要修改的数据行！');
					}

				}
			}]
		});
// 地区数据
var areaStore = new Ext.data.JsonStore({
			proxy : {
				type : 'ajax',
				url : 'busiDictAction!getByType.action?type=8',
				reader : {
					type : 'json',
					root : 'list'
				}
			},
			fields : ['id', 'name']
		});
areaStore.load();
var areaCombobox = Ext.create('Ext.form.ComboBox', {
			fieldLabel : '所属区域<font color=red>*</font>',
			emptyText : '请选择...',
			labelAlign : 'left',
			allowBlank : false,
			store : areaStore,
			name : 'department.areaid',// 控件名称
			editable : false,
			labelWidth : 90,
			displayField : 'name',
			valueField : 'id'// 实际值
		});
var deptForm = Ext.create('Ext.form.Panel', {
	bodyPadding : 5,
	border : 0,
	defaults : {
		border : false
	},
	url : 'deptAction!saveOrUpdate.action',
	items : [{
				layout : 'hbox',
				bodyStyle : 'padding:5px 0px 5px 10px',
				defaults : {
					border : false,
					xtype : 'panel',
					flex : 1,
					layout : 'anchor',
					anchor : '90%',
					labelAlign : 'left'
				},

				items : [{
							defaultType : 'textfield',
							defaults : {
								layout : 'anchor',
								anchor : '90%',
								labelAlign : 'left',
								labelWidth : 90
							},
							items : [{
										xtype : 'hiddenfield',
										name : 'department.id'
									}, {
										xtype : 'hiddenfield',
										name : 'department.pid'
									}, {
										fieldLabel : '机构名称<font color=red>*</font>',
										name : 'department.name',
										allowBlank : false
									}, {
										id : 'department.tempid',
										fieldLabel : '上级机构<font color=red>*</font>',
										xtype : 'treepicker',
										store : superDeptStore,
										displayField : 'name',
										valueField : 'id'
									}, {
										fieldLabel : '机构编码<font color=red>*</font>',
										allowBlank : false,
										name : 'department.code'
									}, areaCombobox, {
										xtype : 'fieldcontainer',
										fieldLabel : '是否叶子节点<font color=red>*</font>',
										defaultType : 'radiofield',
										layout : 'hbox',
										items : [{
													boxLabel : '是',
													name : 'department.leaf',// 是叶子节点
													inputValue : 'true',
													checked : true
												}, {
													boxLabel : '否',
													name : 'department.leaf',
													inputValue : 'false'
												}]
									}]
						},

						{
							defaultType : 'textfield',
							defaults : {
								layout : 'anchor',
								anchor : '90%',
								labelAlign : 'left',
								labelWidth : 90
							},
							items : [{
										fieldLabel : '电话',
										name : 'department.tel'
									}, {
										fieldLabel : '地址',
										name : 'department.address'
									}, {
										fieldLabel : '网址',
										name : 'department.website'
									}, {
										fieldLabel : '联系人',
										name : 'department.contacts'
									}, {
										xtype : 'fieldcontainer',
										fieldLabel : '是否基层局<font color=red>*</font>',
										defaultType : 'radiofield',
										layout : 'hbox',
										items : [{
													boxLabel : '是',
													name : 'department.isbasic',// 是叶子节点
													inputValue : '1'
												}, {
													boxLabel : '否',
													name : 'department.isbasic',
													inputValue : '0',
													checked : true
												}]
									}]
						}]
			}, {
				layout : 'hbox',
				bodyStyle : 'padding:5px 0px 5px 10px',
				defaults : {
					border : false,
					xtype : 'panel',
					flex : 1,
					layout : 'anchor',
					anchor : '90%',
					labelAlign : 'left'
				},

				items : [{
							defaultType : 'textfield',
							defaults : {
								layout : 'anchor',
								anchor : '90%',
								labelAlign : 'left',
								labelWidth : 90
							},
							items : [{
										xtype : 'textarea',
										fieldLabel : '描述',
										anchor : '95%',
										name : 'department.remark'
									}]
						}]
			}]
});

var deptWin = Ext.create('Ext.window.Window', {
	title : '修改',
	width : 600,
	modal : true,
	layout : 'fit',
	closeAction : 'hide',
	closable : true,
	items : [deptForm],
	listeners : {
		show : function() {
			deptForm.getForm().reset();
		}
	},
	buttonAlign : 'center',
	buttons : [{
				text : '保存',
				formBind : true,
				// disabled : true,
				handler : function() {
					var form = deptForm.getForm();
					var tempid = form.findField('department.tempid').getValue();
					form.findField('department.pid').setValue(tempid);
					form.submit({
								success : function(form, action) {
									var refreshNode = deptStore.getRootNode();
									deptStore.load({
												node : refreshNode
											});
									deptWin.hide();
								}
							});
				}
			}, {
				text : '取消',
				handler : function() {
					deptWin.hide();
				}
			}]
});

// ***********************新增、修改结束**************************************

/* 用户模块 */

/**
 * 用户管理
 */
Ext.define('User', {
			extend : 'Ext.data.Model',
			fields : [{
						name : 'id',
						type : 'int'
					}, {
						name : 'name',
						type : 'string'
					}, {
						name : 'username'
					}, {
						name : 'sex',
						type : 'string'
					}, {
						name : 'mobilephone',
						type : 'string'
					}, {
						name : 'tel',
						type : 'string'
					}, {
						name : 'email',
						type : 'string'
					}, {
						name : 'birthday'
					}, {
						name : 'description'
					}, {
						name : 'qq'
					}, {
						name : 'age'
					}]
		});
// 创建数据源
var store = Ext.create('Ext.data.Store', {
			model : 'User',
			pageSize : 20,
			proxy : {
				type : 'ajax',
				url : 'userAction!queryUserPage.action',
				reader : {
					type : 'json',
					root : 'pageList'
				}
			}
		});
var superDeptStore = Ext.create('Ext.data.TreeStore', {
			fields : ['id', 'name'],
			proxy : {
				type : 'ajax',
				url : 'deptAction!getTreeBypid.action'
			},
			root : {
				id : 1,
				name : '上海市质量监督局',
				expanded : true
			},
			reader : {
				type : 'json'
			}
		});
superDeptStore.load();
var superDeptStoreEdit = Ext.create('Ext.data.TreeStore', {
			fields : ['id', 'name'],
			proxy : {
				type : 'ajax',
				url : 'deptAction!getTreeBypid.action'
			},
			root : {
				id : 1,
				name : '上海市质量监督局',
				expanded : true
			},
			reader : {
				type : 'json'
			}
		});
superDeptStore.load();
// 地区数据
var areaStore = new Ext.data.JsonStore({
			proxy : {
				type : 'ajax',
				url : 'busiDictAction!getByType.action?type=8',
				reader : {
					type : 'json',
					root : 'list'
				}
			},
			fields : ['id', 'name']
		});
areaStore.load();
var areaCombobox = Ext.create('Ext.form.ComboBox', {
			fieldLabel : '所属区域<font color=red>*</font>',
			emptyText : '请选择...',
			labelAlign : 'left',
			allowBlank : false,
			store : areaStore,
			name : 'user.areaid',// 控件名称
			editable : false,
			labelWidth : 60,
			displayField : 'name',
			valueField : 'id'// 实际值
		});
var areaCombobox1 = Ext.create('Ext.form.ComboBox', {
			fieldLabel : '所属区域<font color=red>*</font>',
			emptyText : '请选择...',
			labelAlign : 'left',
			allowBlank : false,
			store : areaStore,
			labelWidth : 60,
			name : 'user.areaid',// 控件名称
			editable : false,
			displayField : 'name',
			valueField : 'id'// 实际值
		});
var grid = Ext.create('Ext.grid.Panel', {
	store : store,
	border : 0,
	title : '人员信息',
	selModel : Ext.create('Ext.selection.CheckboxModel'),
	stripeRows : true,
	tbar : [{
				xtype : 'button',
				text : '新增',
				iconCls : 'icon-add',
				handler : function() {
					var selMode = treeGrid.getSelectionModel();
					var model = selMode.getSelection();
					userWin.setTitle('新增人员信息');
					userWin.show();
					superDeptStore.load();
					if (model.length != 0) {
						var raw = model[0].raw;
						userForm.getForm().findField('dept.tempid')
								.setValue(raw.id);
					} else {
						userForm.getForm().findField('dept.tempid').setValue(1);
					}
				}
			}, {
				xtype : 'button',
				text : '修改',
				iconCls : 'icon-edit',
				handler : function() {
					var selMode = grid.getSelectionModel();// 取得选择模式
					var model = selMode.getSelection();
					if (model.length == 1) {
						var raw = model[0].raw;
						editWin.setTitle('修改人员信息');
						editWin.show();
						editForm.getForm().findField('user.id')
								.setValue(raw.id);
						editForm.getForm().findField('user.name')
								.setValue(raw.name);
						editForm.getForm().findField('user.sex')
								.setValue(raw.sex);
						editForm.getForm().findField('user.mobilephone')
								.setValue(raw.mobilephone);
						editForm.getForm().findField('user.tel')
								.setValue(raw.tel);
						editForm.getForm().findField('user.email')
								.setValue(raw.email);
						var _birthday = raw.birthday;
						if (_birthday && _birthday.length > 0) {
							editForm.getForm().findField('user.birthday')
									.setValue(raw.birthday.substr(0, 10));
						}
						editForm.getForm().findField('user.description')
								.setValue(raw.description);
						editForm.getForm().findField('user.qq')
								.setValue(raw.qq);
						editForm.getForm().findField('user.fax')
								.setValue(raw.fax);
						// var roleids = ["1","7","8","9"];
						Ext.Ajax.request({
									url : 'userAction!queryRoleIds.action',
									params : {
										userid : raw.id
									},
									success : function(response) {
										var res = response.responseText;
										res = Ext.JSON.decode(res);
										res = res.roleidList;
										editForm.getForm()
												.findField('user.roles')
												.setValue(res);
									}
								});
						// editForm.getForm().findField('user.roles')
						// .setValue(roleids);
						editForm.getForm().findField('dept.tempid1')
								.setValue(raw.dept);
						/*
						 * editForm.getForm().findField('user.login')
						 * .setValue(raw.login);
						 */

					} else {
						Ext.Msg.alert('提示', '只能选择一项修改！');
					}

				}
			}, {
				xtype : 'button',
				text : '删除',
				iconCls : 'icon-delete',
				handler : function() {
					var selMode = grid.getSelectionModel();
					var model = selMode.getSelection();
					if (model[0]) {
						var ids = [];// 删除多个
						Ext.Array.each(model, function(item) {
									ids.push(item.raw.id);
								});
						Ext.Msg.show({
							title : '确认删除',
							buttons : Ext.MessageBox.OKCANCEL,
							msg : '确定删除选择项?',
							fn : function(btn) {
								if (btn == 'ok') {
									Ext.Ajax.request({
										url : 'userAction!delete.action?ids='
												+ ids,
										success : function(response) {
											Ext.Msg.show({
														title : '提示',
														msg : '删除成功！',
														buttons : Ext.Msg.OK,
														width : 300,
														fn : function() {
															store.reload();
														}
													});
										},
										failure : function(response, opts) {
											console
													.log('server-sidefailure withstatus code '
															+ response.status);
										}
									});
								}

							}
						});
					} else {
						Ext.Msg.alert('提示', '请选择要删除的数据行！');
					}
				}
			}],
	bbar : Ext.create('Ext.PagingToolbar', {
				pageSize : 20,// 每页20条
				store : store,
				displayInfo : true,
				plugins : Ext.create('Ext.ux.ProgressBarPager', {})
			}),
	columns : [{
				text : 'id',
				dataIndex : 'id',
				hidden : true
			}, {
				text : '姓名',
				remoteSort : true,
				dataIndex : 'name',
				flex : 1
			}, {
				text : '用户名',
				remoteSort : true,
				dataIndex : 'username',
				flex : 1
			}, {
				text : '性别',
				remoteSort : true,
				dataIndex : 'sex',
				flex : 1
			}, {
				text : '年龄',
				remoteSort : true,
				dataIndex : 'age',
				flex : 1
			}, {
				text : '手机号码',
				dataIndex : 'mobilephone',
				flex : 1
			}],
	listeners : {
		itemdblclick : function(dataview, record, item, index, e) {
		}
	}
});
Ext.tip.QuickTipManager.init();
var roleStore = new Ext.data.JsonStore({
			proxy : {
				type : 'ajax',
				url : 'roleAction!queryPage.action',
				reader : {
					type : 'json',
					root : 'pageList'
				}
			},
			fields : ['name', 'id']
		});
roleStore.load();

var roleStore1 = new Ext.data.JsonStore({
			proxy : {
				type : 'ajax',
				url : 'roleAction!queryPage.action',
				reader : {
					type : 'json',
					root : 'pageList'
				}
			},
			fields : ['name', 'id']
		});
roleStore1.load();
var roleSelector = Ext.create('Ext.ux.form.ItemSelector', {
			name : 'user.roles',
			store : roleStore,
			displayField : 'name',
			valueField : 'id',
			msgTarget : 'side',
			fromTitle : '未选角色',
			toTitle : '已选角色'
		});
var roleSelector1 = Ext.create('Ext.ux.form.ItemSelector', {
			name : 'user.roles',
			store : roleStore1,
			displayField : 'name',
			valueField : 'id',
			msgTarget : 'side',
			fromTitle : '未选角色',
			toTitle : '已选角色'
		});
// roleStore.load();
var sexStore = Ext.create('Ext.data.Store', {
			fields : ['id', 'name'],
			data : [{
						"id" : "1",
						"name" : "男"
					}, {
						"id" : "2",
						"name" : "女"
					}]
		});
var sexCombo = Ext.create('Ext.form.field.ComboBox', {
			fieldLabel : '性别',
			store : sexStore,
			renderTo : Ext.getBody(),
			name : 'user.sex',// 控件名称
			displayField : 'name',
			editable : false,
			valueField : 'name',// 实际值
			queryMode : 'local',
			value : '男',
			anchor : '90%',
			labelAlign : 'left',
			labelWidth : 60
		});
var sexCombo1 = Ext.create('Ext.form.field.ComboBox', {
			fieldLabel : '性别',
			store : sexStore,
			renderTo : Ext.getBody(),
			name : 'user.sex',// 控件名称
			displayField : 'name',
			editable : false,
			valueField : 'name',// 实际值
			queryMode : 'local',
			value : '男',
			anchor : '90%',
			labelAlign : 'left',
			labelWidth : 60
		});
// ------------------------------------------新建修改部分--------------------------------
var userForm = Ext.create('Ext.form.Panel', {
			bodyPadding : 5,
			border : 0,
			autoScroll : true,
			url : 'userAction!saveOrUpdate.action',
			defaults : {
				anchor : '100%'
			},
			items : [{
				layout : 'hbox',
				bodyStyle : 'padding:5px 0px 5px 5px;border-width:0px 0px 0px 0px',
				defaults : {
					border : false,
					xtype : 'panel',
					flex : 1,
					layout : 'anchor'
				},
				items : [{
					defaultType : 'textfield',
					defaults : {
						anchor : '90%',
						labelAlign : 'left',
						labelWidth : 60
					},
					items : [{
								xtype : 'hiddenfield',
								name : 'user.id'
							}, {
								xtype : 'hiddenfield',
								name : 'user.dept'
							}, /*
								 * { xtype : 'hiddenfield', id : 'age', name :
								 * 'user.age' },
								 */{
								fieldLabel : '用户名<font color=red>*</font>',
								name : 'user.username',
								maxLength : 32,
								allowBlank : false
							}, {
								itemId : 'pass',
								name : 'user.password',
								anchor : '90%',
								labelWidth : 60,
								inputType : 'password',
								fieldLabel : '密码<font color=red>*</font>',
								allowBlank : false,
								blankText : '密码不能为空',
								minLength : 3,
								minLengthText : '密码的长度为[3-16]',
								maxLength : 16,
								maxLengthText : '密码的长度为[3-16]'
							}, {
								name : 'pass-cfrm',
								vtype : 'password',
								inputType : 'password',
								anchor : '90%',
								labelWidth : 60,
								initialPassField : 'pass',
								fieldLabel : '确认密码<font color=red>*</font>',
								allowBlank : false,
								blankText : '密码不能为空',
								minLength : 3,
								minLengthText : '密码的长度为[3-16]',
								maxLength : 16,
								maxLengthText : '密码的长度为[3-16]'
							}, {
								fieldLabel : '姓名<font color=red>*</font>',
								name : 'user.name',
								maxLength : 10,
								allowBlank : false
							}, sexCombo, {
								fieldLabel : '出生日期',
								name : 'user.birthday',
								xtype : 'datefield',
								format : 'Y-m-d',
								editable : false,
								onTriggerClick : function() {
									var dt1 = this;
									Ext.form.DateField.prototype.onTriggerClick
											.apply(dt1, arguments);
									if (Ext.isEmpty(dt1.clearBtn)) {
										this.clearBtn = new Ext.Button({
													text : '清除',
													handler : function() {
														dt1.setValue("");
														dt1.picker.hide();
														dt1.collapse();
													}
												});
										dt1.clearBtn
												.render(dt1.picker.todayBtn.container);
									}
								}
							}
					/*
					 * , { xtype : 'checkboxfield', name : 'user.login',
					 * inputValue : '1', fieldLabel : '系统用户' }
					 */
					]
				}, {
					defaultType : 'textfield',
					defaults : {
						anchor : '90%',
						labelAlign : 'left',
						labelWidth : 60
					},
					items : [{
								id : 'dept.tempid',
								fieldLabel : '单位<font color=red>*</font>',
								xtype : 'treepicker',
								store : superDeptStore,
								displayField : 'name',
								valueField : 'id',
								allowBlank : false
							}, {
								fieldLabel : '固定电话',
								maxLength : 20,
								name : 'user.tel'
							}, {
								fieldLabel : '传真',
								name : 'user.fax'
							}, {
								fieldLabel : '手机',
								name : 'user.mobilephone',
								maxLength : 20,
								regex : /^\d*$/,
								minLength : 11
							}, {
								fieldLabel : 'E-mail',
								name : 'user.email',
								maxLength : 30
							}, {
								fieldLabel : 'QQ号码',
								regex : /^\d*$/,
								name : 'user.qq'
							}]
				}]
			}, {
				layout : 'hbox',
				bodyStyle : 'padding:5px 0px 5px 5px;border-width:0px 0px 0px 0px',
				defaults : {
					border : false,
					xtype : 'panel',
					flex : 1,
					layout : 'anchor'
				},
				items : [{
							defaults : {
								layout : 'anchor',
								anchor : '90%',
								labelAlign : 'left',
								labelWidth : 60
							},
							items : [{
										fieldLabel : '备注',
										name : 'user.description',
										xtype : 'textarea',
										anchor : '95%',
										height : 50,
										maxLength : 200
									}]
						}]
			}, roleSelector]
		});

var userWin = Ext.create('Ext.window.Window', {
			title : '新增人员信息',
			autoHeight : true,
			width : 600,
			layout : 'fit',
			autoScroll : true,
			overflowX : 'auto',
			overflowY : 'auto',
			modal : true,
			closeAction : 'hide',
			closable : true,
			items : [userForm],
			listeners : {
				show : function() {
					userForm.getForm().reset();
				}
			},
			buttons : [{
						text : '提交',
						formBind : true, // only enabled once the form is
						handler : function() {
							var form = userForm.getForm();
							var tempid = form.findField('dept.tempid')
									.getValue();
							form.findField('user.dept').setValue(tempid);
							form.submit({
										success : function(form, action) {
											var msg = "新增成功！";
											Ext.Msg.show({
														title : '提示',
														msg : msg,
														buttons : Ext.Msg.OK,
														width : 300,
														fn : function() {
															store.reload();
														}
													});
											userWin.hide();
										}
									});

						}
					}, {
						text : '取消',
						handler : function() {
							userWin.close();
						}
					}],
			buttonAlign : 'center'
		});

var editForm = Ext.create('Ext.form.Panel', {
			bodyPadding : 5,
			border : 0,
			autoScroll : true,
			url : 'userAction!saveOrUpdate.action',
			defaults : {
				anchor : '100%'
			},
			items : [{
				layout : 'hbox',
				bodyStyle : 'padding:5px 0px 5px 5px;border-width:0px 0px 0px 0px',
				defaults : {
					border : false,
					xtype : 'panel',
					flex : 1,
					layout : 'anchor'
				},
				items : [{
					defaultType : 'textfield',
					defaults : {
						anchor : '90%',
						labelAlign : 'left',
						labelWidth : 60
					},
					items : [{
								xtype : 'hiddenfield',
								name : 'user.id'
							}, {
								xtype : 'hiddenfield',
								name : 'user.dept'
							}, {
								fieldLabel : '姓名<font color=red>*</font>',
								name : 'user.name',
								maxLength : 10,
								allowBlank : false
							}, sexCombo1, {
								fieldLabel : '出生日期',
								name : 'user.birthday',
								xtype : 'datefield',
								format : 'Y-m-d',
								editable : false,
								onTriggerClick : function() {
									var dt1 = this;
									Ext.form.DateField.prototype.onTriggerClick
											.apply(dt1, arguments);
									if (Ext.isEmpty(dt1.clearBtn)) {
										this.clearBtn = new Ext.Button({
													text : '清除',
													handler : function() {
														dt1.setValue("");
														dt1.picker.hide();
														dt1.collapse();
													}
												});
										dt1.clearBtn
												.render(dt1.picker.todayBtn.container);
									}
								}
							}, {
								fieldLabel : '手机号码',
								name : 'user.mobilephone',
								maxLength : 20,
								regex : /^\d*$/,
								minLength : 11
							}, {
								fieldLabel : 'QQ号码',
								regex : /^\d*$/,
								name : 'user.qq'
							}/*
								 * , { xtype : 'checkboxfield', name :
								 * 'user.login', inputValue : '1', fieldLabel :
								 * '系统用户' }
								 */]
				}, {
					defaultType : 'textfield',
					defaults : {
						anchor : '90%',
						labelAlign : 'left',
						labelWidth : 60
					},
					items : [{
								id : 'dept.tempid1',
								fieldLabel : '单位<font color=red>*</font>',
								xtype : 'treepicker',
								store : superDeptStoreEdit,
								displayField : 'name',
								valueField : 'id',
								allowBlank : false
							}, {
								fieldLabel : '固定电话',
								maxLength : 20,
								name : 'user.tel'
							}, {
								fieldLabel : 'E-mail',
								name : 'user.email',
								maxLength : 30
							}, {
								fieldLabel : '传真',
								name : 'user.fax',
								maxLength : 30
							}]
				}]
			}, {
				layout : 'hbox',
				bodyStyle : 'padding:5px 0px 5px 5px;border-width:0px 0px 0px 0px',
				defaults : {
					border : false,
					xtype : 'panel',
					flex : 1,
					layout : 'anchor'
				},
				items : [{
							defaults : {
								layout : 'anchor',
								anchor : '90%',
								labelAlign : 'left',
								labelWidth : 60
							},
							items : [{
										fieldLabel : '备注',
										name : 'user.description',
										xtype : 'textarea',
										anchor : '95%',
										height : 50,
										maxLength : 200
									}]
						}]
			}, roleSelector1]
		});

var editWin = Ext.create('Ext.window.Window', {
			title : '修改人员信息',
			autoHeight : true,
			width : 600,
			layout : 'fit',
			autoScroll : true,
			overflowX : 'auto',
			overflowY : 'auto',
			modal : true,
			closeAction : 'hide',
			closable : true,
			items : [editForm],
			listeners : {
				show : function() {
					editForm.getForm().reset();
				}
			},
			buttons : [{
						text : '提交',
						formBind : true, // only enabled once the form is
						handler : function() {
							var form = editForm.getForm();
							var tempid = form.findField('dept.tempid1')
									.getValue();
							form.findField('user.dept').setValue(tempid);
							form.submit({
										success : function(form, action) {
											var msg = "保存成功！";
											Ext.Msg.show({
														title : '提示',
														msg : msg,
														buttons : Ext.Msg.OK,
														width : 300,
														fn : function() {
															store.reload();
														}
													});
											editWin.hide();
										}
									});

						}
					}, {
						text : '取消',
						handler : function() {
							editWin.close();
						}
					}],
			buttonAlign : 'center'
		});
// -----------------------------------新增修改结束---------------------------
Ext.onReady(function() {
			// alert(Ext.Date.dayNames);
			Ext.create('Ext.container.Viewport', {
						layout : 'fit',
						items : [{
									border : false,
									layout : {
										type : 'hbox',
										align : 'stretch'
									},
									items : [{
												flex : 1,
												layout : 'fit',
												title : "组织机构",
												collapseDirection : 'left',
												animCollapse : true,
												collapsible : true,
												items : [treeGrid]
											}, {
												flex : 1,
												xtype : 'panel',
												region : 'east',
												layout : 'fit',
												items : [grid]
											}]
								}]
					});
			store.load();
			// Add the additional 'advanced' VTypes
			Ext.apply(Ext.form.field.VTypes, {
						password : function(val, field) {
							if (field.initialPassField) {
								var pwd = field.up('form').down('#'
										+ field.initialPassField);
								return (val == pwd.getValue());
							}
							return true;
						},
						passwordText : '两次输入的密码不一致！'
					});
		});
